package com.itheima.controller;

import com.itheima.file.FastDFSFile;
import com.itheima.util.FastDFSClient;
import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

/**
 * 版权：(C) 版权所有 2000-2020 上海天好电子商务有限公司苏州分公司
 * <简述>
 * <详细描述>
 *
 * @author LiuShanshan
 * @version $Id$
 */
@RestController
@CrossOrigin  // 解决跨域问题
@RequestMapping("/file")
public class FileController {
    /***
     * 文件上传
     * @return
     */
    @PostMapping(value = "/upload")
    public String upload(@RequestParam("file")MultipartFile file) throws Exception {
        //封装一个FastDFSFile
        FastDFSFile fastDFSFile = new FastDFSFile(
                file.getOriginalFilename(), //文件名字
                file.getBytes(),            //文件名称：字节数组
                StringUtils.getFilenameExtension(file.getOriginalFilename()),       //文件扩展名
                DigestUtils.md5Hex(file.getInputStream()),    // md5值
                "liushanshan");                        //作者

        //文件上传
        String[] uploads = FastDFSClient.upload(fastDFSFile);
        //组装文件上传地址
        return FastDFSClient.getTrackerUrl()+"/"+uploads[0]+"/"+uploads[1];
    }

    /***
     * 文件下载
     * @return
     */
    @GetMapping(value = "/download")
    public void download() throws Exception {
        String group = "group1";
        String url = "M00/00/00/HoHABGCIwb2AVvlPAAV37y_v0Zk255.jpg";
        FastDFSClient.downFile(group, url);
    }

}
